fix for broken categories on preview
authorTim Starling <tstarling@users.mediawiki.org>
Sun, 1 Jan 2006 20:08:08 +0000 (20:08 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Sun, 1 Jan 2006 20:08:08 +0000 (20:08 +0000)
includes/EditPage.php
includes/OutputPage.php

index a83b20a..7261751 100644 (file)
@@ -1116,10 +1116,8 @@ END
                        $parserOutput = $wgParser->parse( $this->mArticle->preSaveTransform( $toparse ) ."\n\n",
                                        $wgTitle, $parserOptions );
 
-                       $previewHTML = $parserOutput->mText;
-
-                       $wgOut->addCategoryLinks($parserOutput->getCategoryLinks());
-                       $wgOut->addLanguageLinks($parserOutput->getLanguageLinks());
+                       $previewHTML = $parserOutput->getText();
+                       $wgOut->addParserOutputNoText( $parserOutput );
 
                        wfProfileOut( $fname );
                        return $previewhead . $previewHTML;
index 3d464f4..9978a31 100644 (file)
@@ -286,12 +286,20 @@ class OutputPage {
                global $wgParser;
                $parserOutput = $wgParser->parse( $text, $title, $this->mParserOptions,
                        $linestart, true, $this->mRevisionId );
+               $this->addParserOutput( $parserOutput );
+       }
+
+       function addParserOutputNoText( &$parserOutput ) {
                $this->mLanguageLinks += $parserOutput->getLanguageLinks();
                $this->addCategoryLinks( $parserOutput->getCategories() );
                $this->addKeywords( $parserOutput );
                if ( $parserOutput->getCacheTime() == -1 ) {
                        $this->enableClientCache( false );
                }
+       }
+       
+       function addParserOutput( &$parserOutput ) {
+               $this->addParserOutputNoText( $parserOutput );
                $this->addHTML( $parserOutput->getText() );
        }
 
@@ -305,19 +313,11 @@ class OutputPage {
                $parserOutput = $wgParser->parse( $text, $article->mTitle,
                        $this->mParserOptions, true, true, $this->mRevisionId );
 
-               $text = $parserOutput->getText();
-
                if ( $article && $parserOutput->getCacheTime() != -1 ) {
                        $wgParserCache->save( $parserOutput, $article, $wgUser );
                }
 
-               $this->mLanguageLinks += $parserOutput->getLanguageLinks();
-               $this->addCategoryLinks( $parserOutput->getCategories() );
-               $this->addKeywords( $parserOutput );
-               if ( $parserOutput->getCacheTime() == -1 ) {
-                       $this->enableClientCache( false );
-               }
-               $this->addHTML( $text );
+               $this->addParserOutput( $parserOutput );
        }
 
        /**